// Countdown
// The British variant of the French Des chiffres et des lettres.
// See https://en.wikipedia.org/wiki/Des_chiffres_et_des_lettres or https://www.youtube.com/watch?v=X-7Wev90lw4 for details.
OPTIONS:
OPTIMIZATION_LEVEL=0
CONSTANTS:
SMALL_NUMBER_MAX=10
LARGE_NUMBER1=25
LARGE_NUMBER2=50
LARGE_NUMBER3=75
LARGE_NUMBER4=100
VARIABLES:
N1={1..SMALL_NUMBER_MAX, LARGE_NUMBER1, LARGE_NUMBER2, LARGE_NUMBER3, LARGE_NUMBER4}
N2={1..SMALL_NUMBER_MAX, LARGE_NUMBER1, LARGE_NUMBER2, LARGE_NUMBER3, LARGE_NUMBER4}
N3={1..SMALL_NUMBER_MAX, LARGE_NUMBER1, LARGE_NUMBER2, LARGE_NUMBER3, LARGE_NUMBER4}
N4={1..SMALL_NUMBER_MAX, LARGE_NUMBER1, LARGE_NUMBER2, LARGE_NUMBER3, LARGE_NUMBER4}
N5={1..SMALL_NUMBER_MAX, LARGE_NUMBER1, LARGE_NUMBER2, LARGE_NUMBER3, LARGE_NUMBER4}
N6={1..SMALL_NUMBER_MAX, LARGE_NUMBER1, LARGE_NUMBER2, LARGE_NUMBER3, LARGE_NUMBER4}
RULES:
N1 <= N2
N2 <= N3
N3 <= N4
N4 <= N5
N5 <= N6
MATCH_ANY_LONGEST(N1, N2, N3, N4, N5, N6) <= 1
MATCH_FIRST_COUNT(LARGE_NUMBER1, N1, N2, N3, N4, N5, N6) <= 1
MATCH_FIRST_COUNT(LARGE_NUMBER2, N1, N2, N3, N4, N5, N6) <= 1
MATCH_FIRST_COUNT(LARGE_NUMBER3, N1, N2, N3, N4, N5, N6) <= 1
MATCH_FIRST_COUNT(LARGE_NUMBER4, N1, N2, N3, N4, N5, N6) <= 1
OUTPUT:
${SOLUTION_NUMBER::#} ${N1: } ${N2: } ${N3: } ${N4: } ${N5: } ${N6}